﻿'  __ _                 
' / _| |                
'| |_| |_   _ _ __ _ __ 
'|  _| | | | | '__| '__|
'| | | | |_| | |  | |   
'|_| |_|\__,_|_|  |_|

'Copyright (C) 2012, Rafal Marek Chmiel
'All rights reserved. http://flurr.codeplex.com/

'Copyright (C) 2010, Stephen Perelson (WinTumblr)
'All rights reserved. http://www.feedfeast.com/wintumblr/

' Redistribution and use in source and binary forms, with or without modification, are 
' permitted provided that the following conditions are met:
'
' - Redistributions of source code must retain the above copyright notice, this list 
'   of conditions and the following disclaimer.
' - Redistributions in binary form must reproduce the above copyright notice, this list 
'   of conditions and the following disclaimer in the documentation and/or other 
'   materials provided with the distribution.
'
' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
' IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
' INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
' NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
' PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
' WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
' ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
' POSSIBILITY OF SUCH DAMAGE.

Imports System.Collections.Generic
Imports System.Text
Imports System.Web
Imports System.Net
Imports System.IO

Public Class tumblrPhotoPost

    Inherits tumblrAccount

    Private strCaption As String = "" 'The user-supplied caption, HTML allowed (string, N)
    Private strLink As String = "" 'The "click-through URL" for the photo (string, N)
    Private strSource As String = "" 'The photo source URL (string, Y either source or data)
    Private strData As String = "" 'One or more image files (submit multiple times to create a slide show) (string, array, Y either source or data)

    Public Property caption() As String
        Get
            Return strCaption
        End Get
        Set(ByVal value As String)
            Dim str As String = value.Replace(vbCr, "")
            str = str.Replace(vbLf, "")
            strCaption = System.Web.HttpUtility.UrlEncode(str, Encoding.UTF8)
        End Set
    End Property

    Public Property link() As String
        Get
            Return strLink
        End Get
        Set(ByVal value As String)
            strLink = value
        End Set
    End Property

    Public Property source() As String
        Get
            Return strSource
        End Get
        Set(ByVal value As String)
            strSource = value
        End Set
    End Property

    Public Property data() As String
        Get
            Return strData
        End Get
        Set(ByVal value As String)
            If value.Length > 0 Then
                If System.IO.File.Exists(value) Then
                    Try
                        Dim bytWhole As Byte() = System.IO.File.ReadAllBytes(value)
                        strData = System.Web.HttpUtility.UrlEncode(bytWhole)
                    Catch ex As Exception
                        Throw ex
                    End Try
                Else
                    Throw New Exception("Oops! Something went wrong.")
                End If
            End If
        End Set
    End Property

End Class